return { generator = function()
	local ad = rng.range(0, 360)
	local ae = math.rad(ad)
	local dir = math.rad(ad + 90)
	local radius = rng.range(12, 20)*3
	local dirv = math.rad(1)

	if game.player.faction == "air" then
		r = rng.range(220, 255)/255
		rv = 0
		ra = 0
		g = rng.range(200, 230)/255  gv = 0 ga = 0
		b = 0                        bv = 0 ba = 0
		a = rng.range(25, 220)/255   av = 0 aa = 0
	elseif game.player.faction == "earth" then
		r = rng.range(120, 160)/255  rv = 0 ra = 0
		g = rng.range(60, 80)/255  gv = 0 ga = 0
		b = 0  gv = 0 ga = 0
		a = rng.range(math.random(255), math.random(255))/255  gv = 0 ga = 0
	elseif game.player.faction == "fire" then
		r = rng.range(200, 255)/255   rv = 0 ra = 0
		g = rng.range(20, 70)/255   gv = 0.005 ga = 0.0005
		b = rng.range(0, 10)/255      bv = 0 ba = 0
		a = rng.range(25, 220)/255    av = rng.percent(40) and -0.034 or 0 aa = 0.005
	elseif game.player.faction == "water" then
		r = rng.range(0, 10)/255      rv = 0 ra = 0
		g = rng.range(120, 170)/255   gv = 0.005 ga = 0.0005
		b = rng.range(200, 255)/255   bv = 0 ba = 0
		a = rng.range(25, 220)/255    av = rng.percent(40) and -0.034 or 0 aa = 0.005
	elseif game.player.faction == "mana" then
		r = rng.range(220, 255)/255	bv = 0 ba = 0
		g = rng.range(30, 120)/255		gv = 0 ga = 0
		b = rng.range(220, 255)/255	rv = 0 ra = 0
		a = rng.range(75, 220)/255		av = 0 aa = 0
	elseif game.player.faction == "chaos" then
		r = rng.range(math.random(255), math.random(255))/255  rv = 0 ra = 0
		g = rng.range(math.random(255), math.random(255))/255  gv = 0 ga = 0
		b = rng.range(math.random(255), math.random(255))/255  gv = 0 ga = 0
		a = rng.range(math.random(255), math.random(255))/255  gv = 0 ga = 0
	end

	return {
		trail = 1,
		life = 10,
		size = 4, sizev = -0.1, sizea = 0,

		x = radius * math.cos(ae), xv = 0, xa = 0,
		y = radius * math.sin(ae), yv = 0, ya = 0,
		dir = dir, dirv = dirv, dira = 0,
		vel = rng.percent(50) and -1 or 1, velv = 0, vela = 0,

		r = r,	bv = bv, ba = ba,
		g = g,	gv = gv, ga = ga,
		b = b,	rv = rv, ra = ra,
		a = a,	av = av, aa = aa,
	}
end, },
function(self)
	self.ps:emit(10)
end,
100
